var Class=function(n){return function(d){if(/\./.test(n)){
var x=n.split('.'),c=x.pop();return Module(x.join('.'))(function(){Class(c)(d)})}
var c,i,j,k,l,r,w=window,s=w._s||w,e=d.Extends,E=s[e]||w[e],f=function(f,p){if(s!=w){
f=Function('s','with(s) return ('+f+')')(s)}if(!E||!(/\bthis\.Super\b/).test(String(f))){
return f}return function(){l=this.Super;this.Super=p?E.prototype[p]:E;
r=f.apply(this,arguments);this.Super=l;return r}};c=f(d[n]);k=s[n]=function(){
if(this._h)return;if(c)return c.apply(this,arguments)};k.toString=function(){
return String(c)};if(E){E.prototype._h=1;k.prototype=new E;delete E.prototype._h}
k.prototype.toString=k.toString;for(i in d){if(i!=n&&i!='Extends'){
if(i=='Static'){for(j in d[i]){k[j]=d[i][j]}}else{
k.prototype[i]=d[i] instanceof Function?f(d[i],i):d[i]}}}}},Module=function(n){
return function(d){if(/\./.test(n)){var x=n.split('.');
return Module(x.shift())(function(){Module(x.join('.'))(d)})}
var i,w=window,s=w._s||w;s[n]=s[n]?s[n]:{};w._s=s[n];
if(d instanceof Function)d();else for(var i in d)s[n][i]=d[i];w._s=s!=w?s:null}}